﻿using System;
using System.Collections.Generic;

namespace FinMkts
{
    /// <summary>
    /// A specification for a number of markets
    /// </summary>
    public class ContractSpecification
    {
        /// <example>Corn futures</example>
        public string Name { get; set; }

        /// <example>
        /// Corn is listed on CME Globex (Electronic Platform) and CME Open Outcry (Trading Floor)
        /// </example>
        public IEnumerable<ContractListing> GetMarketPlaces()
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Fees payable for the contract
        /// </summary>
        public IEnumerable<TradingFee> Fees { get; set; }

        /// <summary>
        /// Tradable instruments for this specification
        /// </summary>
        public IEnumerable<FinancialInstrument> Instruments { get; set; }

        /// <summary>
        /// constructor
        /// </summary>
        public ContractSpecification()
        {
            Fees = new List<TradingFee>();
        }        
    }
}